package com.b2b.bean;

import com.b2b.constant.CodeInterFace;

/**
 * 版权：上海极和信息科技有限公司
 * 功能：返回值带对象
 * 作者：朱伟峰
 * 邮箱：zhuweifeng24@gmail.com
 * 日期：2016年11月22日
 * @param <T>
 */
@SuppressWarnings("serial")
public class ResultBean<T> extends ResultBase
{
	private T entity = null;

	public T getEntity()
	{
		return entity;
	}

	public void setEntity(T entity)
	{
		this.entity = entity;
	}
	
	public ResultBean<T> success(T entity)
	{
		super.success();
		this.entity = entity;
		return this;
	}
	
	public ResultBean<T> fail(int code, String message)
	{
		super.setCode(code);
		super.setMessage(message);
		return this;
	}
	
	public ResultBean<T> fail(CodeInterFace codeInterFace)
	{
		return this.fail(codeInterFace.getCode(), codeInterFace.getMessage());
	}
	
	@Override
	public String toString()
	{
		return String.format("%s, entity->%s", super.toString(), this.entity);
	}
}
